package com.sz.mes.entity;

import java.util.Date;
import java.lang.Double;
import java.math.BigDecimal;
import javax.validation.constraints.NotNull;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.hibernate.validator.constraints.Length;
import java.util.List;
import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
import com.sz.mes.entity.BaseCustomEntity;
import com.diboot.core.binding.query.BindQuery;
import com.diboot.core.binding.query.Comparison;
import com.diboot.core.util.D;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;

/**
* 生产领料表 Entity定义
* @author hem
* @version 1.0
* @date 2023-09-15
* Copyright © szhs
*/
@Getter @Setter @Accessors(chain = true)
@TableName("issue_doc")
public class IssueDoc extends BaseCustomEntity {
    private static final long serialVersionUID = -833950152211570154L;

    /**
    * 单据编号 
    */
    @Length(max=100, message="单据编号长度应小于100")
    @TableField()
    private String receiptNum;

    /**
    * 领料单行号 
    */
    @Length(max=100, message="领料单行号长度应小于100")
    @TableField()
    private String rowNum;

    /**
    * 业务日期 
    */
    @JsonFormat(pattern = D.FORMAT_DATE_Y4MD)
    @TableField()
    private Date businessDate;

    /**
    * 确认日期 
    */
    @JsonFormat(pattern = D.FORMAT_DATE_Y4MD)
    @TableField()
    private Date confirmationDate;

    /**
    * 生产订单编号 
    */
    @Length(max=100, message="生产订单编号长度应小于100")
    @TableField()
    private String productOrderNum;

    /**
    * 生产订单料号 
    */
    @Length(max=100, message="生产订单料号长度应小于100")
    @TableField()
    private String productNum;

    /**
    * 生产订单料品名称 
    */
    @Length(max=100, message="生产订单料品名称长度应小于100")
    @TableField()
    private String productName;

    /**
    * 生产订单料品规格 
    */
    @Length(max=100, message="生产订单料品规格长度应小于100")
    @TableField()
    private String productSpecification;

    /**
    * 生产数量 
    */
    @TableField()
    private Integer quantity;

    /**
    * 备料料号 
    */
    @Length(max=100, message="备料料号长度应小于100")
    @TableField()
    private String stockNum;

    /**
    * 备料名称 
    */
    @Length(max=100, message="备料名称长度应小于100")
    @TableField()
    private String stockName;

    /**
    * 备料规格 
    */
    @Length(max=100, message="备料规格长度应小于100")
    @TableField()
    private String stockSpecification;

    /**
    * 应发数量 
    */
    @Length(max=100, message="应发数量长度应小于100")
    @TableField()
    private String requireQuantity;

    /**
    * 实发数量 
    */
    @Length(max=100, message="实发数量长度应小于100")
    @TableField()
    private String actualQuantity;

    /**
    * 库存主单位 
    */
    @Length(max=100, message="库存主单位长度应小于100")
    @TableField()
    private String unit;

    /**
    * 存储地点 
    */
    @Length(max=100, message="存储地点长度应小于100")
    @TableField()
    private String location;

    /**
    * 生产订单生产部门 
    */
    @Length(max=100, message="生产订单生产部门长度应小于100")
    @TableField()
    private String productOrderDepartment;

    /**
    * 累计退料数量 
    */
    @TableField()
    private Integer returnNum;


} 
